import subprocess
import sys
import tempfile
+from configparser import ConfigParser
+from pathlib import Path
+
+class GSettingsConfig(ConfigParser):
+ def add(self, path, key, value):
+ if not path in self:
+ self[path] = {}
+ self[path][key] = value
+
+ def save(self, xdg_home):
+ dir = f'{xdg_home}/config/glib-2.0/settings'
+ Path(dir).mkdir(parents=True)
+ with open(f'{dir}/keyfile', 'w') as keyfile:
+ self.write(keyfile)
def show_version(option, opt_str, value, parser):
print("GNOME Shell Test Tool @VERSION@")
if perf_output is not None:
env['SHELL_PERF_OUTPUT'] = perf_output
+ env['GSETTINGS_BACKEND'] = 'keyfile'
+
+ gsettings_config = GSettingsConfig()
+
# A fixed background image
if os.getenv('SHELL_BACKGROUND_IMAGE') is None:
env['SHELL_BACKGROUND_IMAGE'] = '@pkgdatadir@/perf-background.xml'
args.append('--wayland-display')
args.append('gnome-shell-test-display')
+ gsettings_config.save(xdg_home)
+
print("args: {}".format(args))
return subprocess.Popen(args, env=env)